← Doomscroll 📚 Tous les cours

[Caml] Fiche de Cours

[Caml] Fiche de Cours

Lien Moodle : https://moodle.epita.fr/mod/page/view.php?id=104266

Contenu du cours

UE Produire - ECUE Caml et récursivité

  • Référents : Nathalie Bouquet et Ian Ternier
  • Coefficient dans l'UE : 3 / 15

Résumé

  • Apprentissage des bases du langage Caml, uniquement la partie purement fonctionnelle dans le but de :
  • familiariser et entrainer les étudiants au raisonnement récursif nécessaire à de nombreux algorithmes classiques étudiés pendant le cursus ;
  • aborder les premières structures de données récursives avec les listes Caml.
  • Premières notions de complexité en temps : règles de base pour limiter les calculs (éviter les calculs inutiles, ne pas répéter des calculs, arrêter dès qu'une réponse est donnée.)

Plan du cours

  • Pendant le séminaire :
  • Bases : expressions - définitions
  • Les fonctions :
    • à un paramètre
    • à plusieurs paramètres
  • Analyses par cas :
    • L'alternative
    • Le filtrage
  • Récursivité :
    • Raisonnement récursif - Fonctions récursives simples - Fonctions récursives à plusieurs appels
    • Introduction à l'optimisation (complexité en temps)
  • En TD ensuite :
  • Les listes (lien avec le type abstrait liste récursive de l'ECUE Types Algébriques Abstraits)
  • Les fonctions d'ordre supérieur

Aquis d'Apprentissage Visés

  • À l'issue du séminaire les étudiants sont capables de
  • évaluer du code Caml simple (fonctionnel uniquement)
  • écrire des fonctions Caml récursives à un ou plusieurs appels sur des données élémentaires
  • À l'issu des TDs ensuite, les étudiants sont capables de
  • résoudre des problèmes récursifs simples et les traduire en langage Caml
  • écrire des fonctions Caml manipulant des structures de données séquentielles récursives (listes), en appliquant les règles simples d'optimisation
  • utiliser l'ordre supérieur pour généraliser des calculs, en particulier sur les listes

Evaluations

  • [qcms] QCMs du séminaire 6 * 15min
  • [examB1] Examen écrit (fin B1) = 1h30
  • note = 30% [qcms] + 70% [examB1]